1
Vượt quá Cặp: Nhóm Nhiều Kiểu với Tuples
AI037Lesson 19
00:00

Trong kiến trúc của các hệ thống C++ quy mô lớn, việc định nghĩa một cấu trúc chính thức struct cho mỗi nhóm dữ liệu tạm thời thường là thừa thãi. Cấu trúc std::tuple chức năng như một container không đồng nhất, mở rộng từ std::pair để lưu giữ một số lượng tùy ý các kiểu khác nhau.

1. Xây dựng và Giới hạn

Khác với các container chuẩn, hàm tạo của tuple hàm tạo là rõ ràng. Bạn không thể dùng khởi tạo sao chép với danh sách; bạn phải dùng khởi tạo trực tiếp hoặc std::make_tuple.

tuple<int, double> t1{1, 2.5}; // Được phép
tuple<int, double> t2 = {1, 2.5}; // Lỗi!

2. Truy cập và Nhận diện

Các thành viên được truy cập thông qua get<i>(tên_tuple), trong đó i phải là biểu thức hằng số xác định tại thời điểm biên dịch. Thông tin chi tiết có thể được truy vấn qua tuple_sizetuple_element bằng cách sử dụng decltype.

Bố trí Bộ nhớ của std::tuplechuỗiget<0>intget<1>doubleget<2>

3. Logic Quan hệ

Các tuple được so sánh theo thứ tự từ điển. So sánh chỉ hợp lệ nếu cả hai tuple đều có cùng số lượng thành phần và kiểu tương ứng hỗ trợ các toán tử quan hệ.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>